package com.ruicar.afs.jobadmin.service;


import com.ruicar.afs.cloud.common.core.util.IResponse;
import com.ruicar.afs.jobadmin.core.model.AfsJobInfo;

import java.util.Date;
import java.util.Map;

/**
 * The type AfsJobService
 * <p>Description: </p>
 *
 * @author Fzero
 * @version 1.0
 * @date Created on 2020.06.13 14:17:12
 * @since 1.0
 */
public interface AfsJobService {

    /**
     * Add response
     *
     * @param jobInfo job info
     * @return the response
     */
    public IResponse<String> add(AfsJobInfo jobInfo);

    /**
     * Update response
     *
     * @param jobInfo job info
     * @return the response
     */
    public IResponse<String> update(AfsJobInfo jobInfo);

    /**
     * Remove response
     *
     * @param id id
     * @return the response
     */
    public IResponse<Boolean> remove(int id);

    /**
     * Start response
     *
     * @param id id
     * @return the response
     */
    public IResponse<String> start(int id);

    /**
     * Stop response
     *
     * @param id id
     * @return the response
     */
    public IResponse<String> stop(int id);


    /**
     * Chart info map
     *
     * @param startDate start date
     * @param endDate   end date
     * @return the map
     */
    Map<String, Object> chartInfo(Date startDate, Date endDate);

}
